#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;

//int main() 
//{
//	int m[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
//	int(*p)[4] = (int(*)[4])m;
//	printf("%d", p[1][2]);
//	return 0;
//}

//int main()
//{
//	char p1[15] = "abcd", str[50] = "xyz";
//	const char* p2 = "ABCD";
//	strcpy(str + 2, strcat(p1 + 2, p2 + 1));
//	printf("%s", str);
//	return 0;
//}

//char* f(char* str, char ch)
//{
//	char* it1 = str;
//	char* it2 = str;
//	while (*it2 != '\0')
//	{
//		while (*it2 == ch)
//		{
//			it2++;
//		} 
//		*it1++ = *it2++;
//	} 
//	return str;
//} 
//int main() 
//{
//	char a[10];
//	strcpy(a, "abcdcccd");
//	printf("%s", f(a, 'c'));
//	return 0;
//}
class Solution 
{
public:
    string replaceSpaces(string S, int length)
    {
        string s;
        string s1 = "%20";
        size_t n = 0;
        while (n < length)
        {
            if (S[n] == ' ')
            {
                /*if(s.empty())
                {
                    s=s1;
                }
                else
                {
                    s+=s1;
                }*/
                s += s1;
            }
            else
            {
                s.push_back(S[n]);
            }
            n++;
        }
        return s;
    }

    string compressString(string S)
    {
        int count = 1;
        size_t i = 0;
        string s;
        for (i = 1; i < S.size(); i++)
        {
            if (S[i] == S[i - 1])
            {
                count++;
            }
            else
            {
                s.push_back(S[i - 1]);
                s += to_string(count);
                count = 1;
            }
        }
        s.push_back(S[i - 1]);
        s += to_string(count);
        count = 1;
        return s;
    }

    int exchangeBits(int num)
    {
        if (num == 0)
        {
            return 0;
        }

        int i = 0;
        int n = 3;
        for (i = 0; i<32 && num >> i != 0; i += 2)
        {
            int k = n << i;
            if ((num & k) != 0 && (num & k) != k)
            {
                num ^= k;
            }
        }
        return num;
    }

    int multiply(int A, int B)
    {
        if (A == 0 || B == 0)
        {
            return 0;
        }

        int sum = 0;
        if (A > B)
        {
            while (B)
            {
                sum += A;
                B--;
            }
        }
        else
        {
            while (A)
            {
                sum += B;
                A--;
            }
        }
        return sum;
    }
};

enum weekday
{
    sun,
    mon = 3,
    tue,
    wed
};
union un
{
    int d1;
    float d2;
};
//int main()
//{
//    /*Solution S;
//    S.exchangeBits(1);*/
//    /*string s = "aabcccccaa";
//    Solution S;
//    cout << S.compressString(s) << endl;*/
//    /*enum weekday workday;
//    workday = wed;
//    printf("%d\n", workday);
//
//    int n = 0;
//    cin >> n;
//    while (n--)
//    {
//        string s;
//        cin >> s;
//        if (s.size() >= 10)
//        {
//            cout << s[0] << s.size() - 2 << s[s.size() - 1] << endl;
//        }
//        else
//        {
//            cout << s << endl;
//        }
//    }*/
//
//    /*un d;
//    printf("%p\n", &d);
//    printf("%p\n", &d.d1);
//    printf("%p\n", &d.d2);
//
//    d.d1 = 10;
//    printf("%f\n", d.d2);
//
//    d.d2 = 10;
//    printf("%d\n", d.d1);*/
//}
//typedef struct List_t
//{
//    struct List_t* next;
//    struct List_t* prev;
//    char data[0];
//}list_t;
//int main()
//{
//    list_t li;
//    printf("%d", sizeof(list_t));
//    return 0;
//}

bool check(int n)
{
    if (n % 7 == 0)
    {
        return true;
    }

    while (n)
    {
        if (n % 10 == 7)
        {
            return true;
        }

        n /= 10;
    }
    return false;
}
int main()
{
    int n = 0;
    cin >> n;
    if (n < 7)
    {
        cout << 0 << endl;
        return 0;
    }

    int count = 0;
    int i = 7;
    for (i = 7; i <= n; i++)
    {
        if (check(i))
        {
            count++;
        }
    }
    cout << count << endl;
    return 0;
}